package com.hb.trade.server.flow.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hb.core.pojo.flow.entity.FlowTempMain;
import com.hb.core.pojo.flow.dto.FlowTempMainDTO;

/**
 * <p>
 * 流程主表(模板) 服务类
 * </p>
 *
 * @author zhaojk
 * @since 2021-05-27
 */
public interface FlowTempMainService extends IService<FlowTempMain> {

    /**
     * 定义一个流程模板
     * 根据ID字段判断是做新增操作还是修改
     *
     * @param flowTempMain 流程模板参数
     * @return 返回null时表示保存成功
     */
    String defineFlowTemp(FlowTempMainDTO flowTempMain);

    /**
     * 判断指定流程名称的流程模板是否存在
     *
     * @param flowName
     * @return
     */
    boolean existsByFlowTempName(String flowName);

    /**
     * 判断指定流程id的流程模板是否存在
     *
     * @param id
     * @return
     */
    boolean existsByFlowTempId(Long id);

    /**
     * 获取流程模板详情
     *
     * @param tempMainId
     * @return
     */
    FlowTempMainDTO getAllById(Long tempMainId);
}
